The size and number of networks, both public and private, used to transfer various types of digital information continues to increase. This increase reflects, in part, an increase in the number and types of applications which utilize digital information. Examples of various types of applications that involve the transfer of digital data over a network include voice telephone calls, data transmission applications such as internet access applications, and video on demand services.
In order to provide a relatively large degree of flexibility in the types of applications and services that can be supported, many digital networks rely on the use of relatively small fixed size packets sometimes referred to as cells to transfer data between nodes of a network, e.g., source and destination nodes. Data packets can be used to transmit data representing numerous types of information, including, e.g., voice data, video data, computer information, etc.
To facilitate the communication of packets and cells between networks and within networks various signaling and network protocols have been developed. The International Telecommunication Union (ITU) has published a standard setting forth various signaling protocols, formats, and codes, to be used when transmitting data in accordance with what has become known as Broadband Integrated Services Digital Network (B-ISDN). One publication describing the B-ISDN standard published by the ITU is document No. Q.2763 titled "Final Draft, Broadband Integrated Services Digital Network" (B-ISDN), Signaling System No. 7 B-ISDN User Part (B-ISUP), (9/1994). Various attempts to further define a networking standard beyond the B-ISDN standard have been made by The ATM Forum a group dedicated to developing a standard for asynchronous transfer mode (ATM) communication in networks. The ATM Forum has published a specification titled "Private Network-Network Interface Specification Version 1.0" (PNNI 1.0) (March 1996).
Asynchronous transfer mode (ATM) is one known method of communicating data using fixed size packets, i.e.., 53 byte cells, in a network. Networks which use ATM for communicating information are generally referred to as ATM networks. While the present invention will generally be described in the discussion that follows in the exemplary context of an ATM network, it is to be understood that the invention is not limited to such an embodiment but may be used in a wide variety of network connection restoration applications.
ATM networks normally include a plurality of interconnected nodes. The individual node connectivities in a network form a plurality of potential physical paths over which data may be communicated from, e.g., a source node to a destination node.
In a connection-oriented ATM network the routing of data between network nodes is performed by first establishing a virtual channel connection (VCC) or a virtual path connection (VPC) between a source and destination node. The VCCs/VPCs are normally established at the time a communication session between a source and destination node is initiated. The VCC/VPC established at the time a communication session commences is assigned a unique virtual channel identifier (VCI) and/or virtual path identifier (VPI). The VCC/VPC established at the commencement of a network session is normally maintained for the duration of the session. VCC/VPC correspond to a selected physical route between a source and destination node in the ATM network. The physical route between the source and destination nodes corresponding to the VCC/VPC is normally selected at the time a communication session commences using the routing capabilities of the switches which comprise the ATM network. The VCCs/VPCs are uni-directional in nature. For bi-directional communication, a pair of VCCs/VPCs is required.
ATM networks generally include the ability to establish VCCs/VPCs through the network at the time a communication session is commenced, e.g., through the use of the signaling, the routing and the resource allocation capabilities built into network switches. They also normally include some capability to detect link and/or node failures and the ability to update, on a periodic basis, physical network configuration information. The updating of the network information is normally performed, e.g., when physical nodes are added to, or removed from, the ATM network.
As discussed above, in an ATM network VCCs/VPCs are established at the time a communication session is commenced. The actual physical path, corresponding to a VCC/VPC, can be a function of, e.g., the physical interconnectivity of the source and destination nodes, available link bandwidth in the network at the time the session commences, and the routing method used to establish the virtual connection between the source and destination nodes. Once established, a VCC/VPC will normally be used for the duration of a session without modification.
A network fault condition such as the failure of a link between nodes or the failure of a node in the network can result in the interruption of the transfer of data through the network. Thus, communication using an established VCC/VPC may be interrupted, e.g., because of an interruption of the corresponding actual physical path through the network has occurred. Many networks include, at a network management level, one or more methods for detecting the occurrence of node and/or link faults.
One of the key challenges to network designers is to meet end-user needs for fault tolerance and robustness at the lowest possible cost. User needs for fault tolerance, in terms of the degree of acceptable interruption in a communication session upon detection of a fault condition, will frequently vary from user to user and from application to application. For instance, releasing and then establishing an entirely new connection between a source and destination device may be acceptable in some applications, e.g., where data traffic is bursty, simple session setup procedures are involved, the time required to establish an entirely new connection is relatively small and/or the application user is willing to accept the inconvenience associated with having to re-establish a new connection before being able to complete a communication session. However, for other applications, e.g., such as those with high bandwidth requirements, long holding times and/or rather sophisticated session setup procedures, restoring an existing network connection, interrupted due to a link or node failure, may make more sense than establishing an entirely new connection. Examples of applications where connection restoration may be more desirable then establishing an entirely new connection between a source and destination device include, e.g., some World Wide Web applications, teleconferencing applications and Video on Demand (VOD) applications.
In addition to application considerations, some users may demand, and be willing to pay for, a higher degree of protection against service interruption than other users. For example, stock brokers may be willing to pay a premium to minimize the degree of interruption they will experience in a telephone call due to a node or link failure while the average telephone user may be willing to accept the risk of premature release and the need to initiate a new call to complete a conversation.
Known techniques for protecting against service interruptions generally involve providing physical backup capability in the form of redundant nodes and/or physical interconnects. Providing of redundant physical systems can be a costly proposition. In addition, because the backup is provided at the physical layer, the known systems generally re-route large amounts of data as one unit thereby making it difficult to provide a large degree of flexibility in terms of providing, as an option, differing degrees of protection to users on a per session, individual user, or individual application basis.
In an attempt to address the need for fault tolerance in ATM networks, ATM restoration schemes which focus on the use of backup virtual connections (virtual path connections (VPCs) or virtual channel connections (VCCs)) have been proposed. In such systems, primary as well as backup VPCs and VCCs are created at the time a connection is initially established and are maintained for the duration of the communication session. In such implementations, identifiers (VCI/VPI) for the backup virtual connections are assigned at connection establishment time even though the bandwidth for the backup connection may not be reserved. One problem with this approach is that the assignment of backup virtual connection identifiers at the time a connection is established and the maintenance of such identifiers during a session has the potential of causing VPI/VCI exhaustion which may result in unusable bandwidth in the network. In ATM networks where virtual connections are established on demand, e.g., in the case of switched virtual connections, the problem of VPI/VCI exhaustion can be significant. Another problem with this proposed approach to fault management is that the proposals call for the addition of new protocols to the existing ATM standard, to allow the use of operation and maintenance (OAM) cells to accommodate message passing required by these proposed restoration schemes. The slow process of agreeing upon new standards makes it difficult to achieve a timely and uniform implementation of the proposed schemes across ATM networks from different manufacturers.
In view of the above, it is apparent that there is a need for methods and apparatus which will allow networks to provide different individual users and/or different types of applications differing degrees of protection from service interruption. In addition, it is desirable that such methods and apparatus allow network providers to assign the priority for protection on a per connection basis and offer premium services for customers requiring or desiring a high degree of protection against pre-mature connection release.
In addition to offering a wide degree of flexibility in terms of the degree of protection offered to individual users and/or applications preferably on a per connection or per session basis, it is desirable, from a cost standpoint, that protection from service interruption due to link and/or node failures be capable of being provided at relatively modest cost. To satisfy such a cost requirement the amount of hardware that must be incorporated into a network for the purpose of protecting against service interruption should be minimized, i.e., the provision of redundant circuitry should be minimized or eliminated.
It is desirable that any new network connection restoration methods avoid the assigning of backup VCI/VPI values at the time a connection is established to avoid or minimize the potential problem of VCI/VPI exhaustion.